/**
 * Creates the base structure of an Ext.Button
 * @member Ext.button.Button
 */
@mixin extjs-button {
  .#{$prefix}btn {
    display: inline-block;
    zoom: 1;
    *display: inline;
    position: relative;

    cursor: pointer;
    cursor: hand;

    white-space: nowrap;

    vertical-align: middle;

    * {
      cursor: pointer;
      cursor: hand;
    }

    background-repeat: no-repeat;

    em {
      background-repeat: no-repeat;

      // Styles for an anchor button.
      a {
        text-decoration: none;
        display: block;
        color: inherit;

        // 100% rather than auto for consistency with the button element
        width: 100%;

        // This is needed for IE7 in strict mode to ensure that the icon element has the correct opacity on a
        // disabled link button. It seems only to be needed for buttons that are narrower than their icon
        // element
        zoom: 1;
      }
    }

    button {
      // 100% rather than auto so that IE7 renders file upload and date picker buttons correctly
      width: 100%;

      display: block;
      margin: 0;
      padding: 0;
      border: 0;
      background: none;
      outline: 0 none;
      overflow: hidden;
      vertical-align: bottom;
      -webkit-appearance: none;

      &::-moz-focus-inner {
        border: 0;
        padding: 0;
      }
    }

    .#{$prefix}btn-inner {
      display: block;
      white-space: nowrap;
      background-color: transparent;
      background-repeat: no-repeat;
      background-position: left center;
      overflow: hidden;
    }

    .#{$prefix}btn-left .#{$prefix}btn-inner {
      text-align: left;
    }

    .#{$prefix}btn-center .#{$prefix}btn-inner {
      text-align: center;
    }

    .#{$prefix}btn-right .#{$prefix}btn-inner {
      text-align: right;
    }
  }

  .#{$prefix}btn-disabled span {
    @include opacity(.5);

    .#{$prefix}ie6 &,
    .#{$prefix}ie7 & {
      filter: none;
    }
  }

  //remove the opacity rule of IE8
  .#{$prefix}ie7 .#{$prefix}btn-disabled,
  .#{$prefix}ie8 .#{$prefix}btn-disabled {
    filter: none;
  }

  .#{$prefix}ie6 .#{$prefix}btn-disabled,
  .#{$prefix}ie7 .#{$prefix}btn-disabled,
  .#{$prefix}ie8 .#{$prefix}btn-disabled {
    .#{$prefix}btn-icon {
      @include opacity(.6);
    }
  }

  @if $include-ie {
    /* IE9 shows scrollbars in a button unless this is set  */
    .#{$prefix}ie9 .#{$prefix}btn button {
      overflow: visible !important;
    }

    * html .#{$prefix}ie {
      .#{$prefix}btn button {
        width: 1px;
      }
    }

    .#{$prefix}ie .#{$prefix}btn button {
      overflow-x: visible; /*prevents extra horiz space in IE*/
      vertical-align: baseline; /*IE doesn't like bottom*/
    }

    .#{$prefix}strict .#{$prefix}ie6,
    .#{$prefix}strict .#{$prefix}ie7 {
      .#{$prefix}btn .#{$prefix}frame-mc {
        height: 100%;
      }
    }
  }

  @if not $supports-border-radius or $compile-all {
    /* Keep the selector simple ".x-btn .x-frame-mc" is enough to target the center frame of the button table */
    .#{$prefix}btn {
      .#{$prefix}frame-mc {
        vertical-align: middle;
        white-space: nowrap;
        cursor: pointer;
      }
    }

    /* Only center when all there is is text. Otherwise solo icons get centered. */
    .#{$prefix}btn-noicon {
      .#{$prefix}frame-mc {
        text-align: center;
      }
    }
  }

  .#{$prefix}btn-icon-text-left .#{$prefix}btn-icon {
    background-position: left center;
  }

  .#{$prefix}btn-icon-text-right .#{$prefix}btn-icon {
    background-position: right center;
  }

  .#{$prefix}btn-icon-text-top .#{$prefix}btn-icon {
    background-position: center top;
  }

  .#{$prefix}btn-icon-text-bottom .#{$prefix}btn-icon {
    background-position: center bottom;
  }

  .#{$prefix}btn {
    button, a {
      position: relative;

      .#{$prefix}btn-icon {
        position: absolute;
        background-repeat: no-repeat;
      }
    }
  }

  .#{$prefix}btn-arrow-right {
    background: transparent no-repeat right center;
    padding-right: $button-arrow-size;

    .#{$prefix}btn-inner {
      padding-right: 0 !important;
    }
  }

  .#{$prefix}toolbar .#{$prefix}btn-arrow-right {
    padding-right: $button-toolbar-arrow-size;
  }

  .#{$prefix}btn-arrow-bottom {
    background: transparent no-repeat center bottom;
    padding-bottom: $button-arrow-size;
  }

  .#{$prefix}btn-arrow {
    background-image: theme-background-image($theme-name, 'button/arrow.gif');
    display: block;
  }


  //split buttons
  .#{$prefix}btn-split-right,
  .#{$prefix}btn-over .#{$prefix}btn-split-right {
    background: transparent no-repeat right center;
    background-image: theme-background-image($theme-name, 'button/s-arrow.gif');
    padding-right: $button-split-size !important;
  }

  .#{$prefix}btn-split-bottom,
  .#{$prefix}btn-over .#{$prefix}btn-split-bottom {
    background: transparent no-repeat center bottom;
    background-image: theme-background-image($theme-name, 'button/s-arrow-b.gif');
    padding-bottom: $button-split-size;
  }

  .#{$prefix}toolbar .#{$prefix}btn-split-right {
    background-image: theme-background-image($theme-name, 'button/s-arrow-noline.gif');
    padding-right: $button-toolbar-split-size !important;
  }

  .#{$prefix}toolbar .#{$prefix}btn-split-bottom {
    background-image: theme-background-image($theme-name, 'button/s-arrow-b-noline.gif');
  }

  .#{$prefix}btn-split {
    display: block;
  }

  .#{$prefix}item-disabled,
  .#{$prefix}item-disabled * {
    cursor: default;
  }

  .#{$prefix}cycle-fixed-width .#{$prefix}btn-inner {
    text-align: inherit;
  }

  .#{$prefix}btn-over .#{$prefix}btn-split-right {
    background-image: theme-background-image($theme-name, 'button/s-arrow-o.gif');
  }
  .#{$prefix}btn-over .#{$prefix}btn-split-bottom {
    background-image: theme-background-image($theme-name, 'button/s-arrow-bo.gif');
  }

  @include extjs-button-ui(
    /* UI + Scale */
                  'default-small',
                  $button-small-border-radius,
                  $button-small-border-width,
                  $button-default-border-color,
                  $button-default-border-color-over,
                  $button-default-border-color-focus,
                  $button-default-border-color-pressed,
                  $button-default-border-color-disabled,
                  $button-small-padding,
                  $button-small-text-padding,
                  $button-default-background-color,
                  $button-default-background-color-over,
                  $button-default-background-color-focus,
                  $button-default-background-color-pressed,
                  $button-default-background-color-disabled,
                  $button-default-background-gradient,
                  $button-default-background-gradient-over,
                  $button-default-background-gradient-focus,
                  $button-default-background-gradient-pressed,
                  $button-default-background-gradient-disabled,
                  $button-default-color,
                  $button-default-color-over,
                  $button-default-color-focus,
                  $button-default-color-pressed,
                  $button-default-color-disabled,
                  $button-small-font-size,
                  $button-small-font-size-over,
                  $button-small-font-size-focus,
                  $button-small-font-size-pressed,
                  $button-small-font-size-disabled,
                  $button-small-font-weight,
                  $button-small-font-weight-over,
                  $button-small-font-weight-focus,
                  $button-small-font-weight-pressed,
                  $button-small-font-weight-disabled,
                  $button-small-font-family,
                  $button-small-font-family-over,
                  $button-small-font-family-focus,
                  $button-small-font-family-pressed,
                  $button-small-font-family-disabled,
                  $button-small-icon-size
  );

  @include extjs-button-ui(
                  'default-medium',
                  $button-medium-border-radius,
                  $button-medium-border-width,
                  $button-default-border-color,
                  $button-default-border-color-over,
                  $button-default-border-color-focus,
                  $button-default-border-color-pressed,
                  $button-default-border-color-disabled,
                  $button-medium-padding,
                  $button-medium-text-padding,
                  $button-default-background-color,
                  $button-default-background-color-over,
                  $button-default-background-color-focus,
                  $button-default-background-color-pressed,
                  $button-default-background-color-disabled,
                  $button-default-background-gradient,
                  $button-default-background-gradient-over,
                  $button-default-background-gradient-focus,
                  $button-default-background-gradient-pressed,
                  $button-default-background-gradient-disabled,
                  $button-default-color,
                  $button-default-color-over,
                  $button-default-color-focus,
                  $button-default-color-pressed,
                  $button-default-color-disabled,
                  $button-medium-font-size,
                  $button-medium-font-size-over,
                  $button-medium-font-size-focus,
                  $button-medium-font-size-pressed,
                  $button-medium-font-size-disabled,
                  $button-medium-font-weight,
                  $button-medium-font-weight-over,
                  $button-medium-font-weight-focus,
                  $button-medium-font-weight-pressed,
                  $button-medium-font-weight-disabled,
                  $button-medium-font-family,
                  $button-medium-font-family-over,
                  $button-medium-font-family-focus,
                  $button-medium-font-family-pressed,
                  $button-medium-font-family-disabled,
                  $button-medium-icon-size
  );

  @include extjs-button-ui(
                  'default-large',
                  $button-large-border-radius,
                  $button-large-border-width,
                  $button-default-border-color,
                  $button-default-border-color-over,
                  $button-default-border-color-focus,
                  $button-default-border-color-pressed,
                  $button-default-border-color-disabled,
                  $button-large-padding,
                  $button-large-text-padding,
                  $button-default-background-color,
                  $button-default-background-color-over,
                  $button-default-background-color-focus,
                  $button-default-background-color-pressed,
                  $button-default-background-color-disabled,
                  $button-default-background-gradient,
                  $button-default-background-gradient-over,
                  $button-default-background-gradient-focus,
                  $button-default-background-gradient-pressed,
                  $button-default-background-gradient-disabled,
                  $button-default-color,
                  $button-default-color-over,
                  $button-default-color-focus,
                  $button-default-color-pressed,
                  $button-default-color-disabled,
                  $button-large-font-size,
                  $button-large-font-size-over,
                  $button-large-font-size-focus,
                  $button-large-font-size-pressed,
                  $button-large-font-size-disabled,
                  $button-large-font-weight,
                  $button-large-font-weight-over,
                  $button-large-font-weight-focus,
                  $button-large-font-weight-pressed,
                  $button-large-font-weight-disabled,
                  $button-large-font-family,
                  $button-large-font-family-over,
                  $button-large-font-family-focus,
                  $button-large-font-family-pressed,
                  $button-large-font-family-disabled,
                  $button-large-icon-size
  );

  @include extjs-button-ui(
                  'default-toolbar-small',
                  $button-small-border-radius,
                  $button-small-border-width,
                  $button-toolbar-border-color,
                  $button-toolbar-border-color-over,
                  $button-toolbar-border-color-focus,
                  $button-toolbar-border-color-pressed,
                  $button-toolbar-border-color-disabled,
                  $button-small-padding,
                  $button-small-text-padding,
                  $button-toolbar-background-color,
                  $button-toolbar-background-color-over,
                  $button-toolbar-background-color-focus,
                  $button-toolbar-background-color-pressed,
                  $button-toolbar-background-color-disabled,
                  $button-toolbar-background-gradient,
                  $button-toolbar-background-gradient-over,
                  $button-toolbar-background-gradient-focus,
                  $button-toolbar-background-gradient-pressed,
                  $button-toolbar-background-gradient-disabled,
                  $button-toolbar-color,
                  $button-toolbar-color-over,
                  $button-toolbar-color-focus,
                  $button-toolbar-color-pressed,
                  $button-toolbar-color-disabled,
                  $button-small-font-size,
                  $button-small-font-size-over,
                  $button-small-font-size-focus,
                  $button-small-font-size-pressed,
                  $button-small-font-size-disabled,
                  $button-small-font-weight,
                  $button-small-font-weight-over,
                  $button-small-font-weight-focus,
                  $button-small-font-weight-pressed,
                  $button-small-font-weight-disabled,
                  $button-small-font-family,
                  $button-small-font-family-over,
                  $button-small-font-family-focus,
                  $button-small-font-family-pressed,
                  $button-small-font-family-disabled,
                  $button-small-icon-size
  );

  @include extjs-button-ui(
                  'default-toolbar-medium',
                  $button-medium-border-radius,
                  $button-medium-border-width,
                  $button-toolbar-border-color,
                  $button-toolbar-border-color-over,
                  $button-toolbar-border-color-focus,
                  $button-toolbar-border-color-pressed,
                  $button-toolbar-border-color-disabled,
                  $button-medium-padding,
                  $button-medium-text-padding,
                  $button-toolbar-background-color,
                  $button-toolbar-background-color-over,
                  $button-toolbar-background-color-focus,
                  $button-toolbar-background-color-pressed,
                  $button-toolbar-background-color-disabled,
                  $button-toolbar-background-gradient,
                  $button-toolbar-background-gradient-over,
                  $button-toolbar-background-gradient-focus,
                  $button-toolbar-background-gradient-pressed,
                  $button-toolbar-background-gradient-disabled,
                  $button-toolbar-color,
                  $button-toolbar-color-over,
                  $button-toolbar-color-focus,
                  $button-toolbar-color-pressed,
                  $button-toolbar-color-disabled,
                  $button-medium-font-size,
                  $button-medium-font-size-over,
                  $button-medium-font-size-focus,
                  $button-medium-font-size-pressed,
                  $button-medium-font-size-disabled,
                  $button-medium-font-weight,
                  $button-medium-font-weight-over,
                  $button-medium-font-weight-focus,
                  $button-medium-font-weight-pressed,
                  $button-medium-font-weight-disabled,
                  $button-medium-font-family,
                  $button-medium-font-family-over,
                  $button-medium-font-family-focus,
                  $button-medium-font-family-pressed,
                  $button-medium-font-family-disabled,
                  $button-medium-icon-size
  );

  @include extjs-button-ui(
                  'default-toolbar-large',
                  $button-large-border-radius,
                  $button-large-border-width,
                  $button-toolbar-border-color,
                  $button-toolbar-border-color-over,
                  $button-toolbar-border-color-focus,
                  $button-toolbar-border-color-pressed,
                  $button-toolbar-border-color-disabled,
                  $button-large-padding,
                  $button-large-text-padding,
                  $button-toolbar-background-color,
                  $button-toolbar-background-color-over,
                  $button-toolbar-background-color-focus,
                  $button-toolbar-background-color-pressed,
                  $button-toolbar-background-color-disabled,
                  $button-toolbar-background-gradient,
                  $button-toolbar-background-gradient-over,
                  $button-toolbar-background-gradient-focus,
                  $button-toolbar-background-gradient-pressed,
                  $button-toolbar-background-gradient-disabled,
                  $button-toolbar-color,
                  $button-toolbar-color-over,
                  $button-toolbar-color-focus,
                  $button-toolbar-color-pressed,
                  $button-toolbar-color-disabled,
                  $button-large-font-size,
                  $button-large-font-size-over,
                  $button-large-font-size-focus,
                  $button-large-font-size-pressed,
                  $button-large-font-size-disabled,
                  $button-large-font-weight,
                  $button-large-font-weight-over,
                  $button-large-font-weight-focus,
                  $button-large-font-weight-pressed,
                  $button-large-font-weight-disabled,
                  $button-large-font-family,
                  $button-large-font-family-over,
                  $button-large-font-family-focus,
                  $button-large-font-family-pressed,
                  $button-large-font-family-disabled,
                  $button-large-icon-size
  );

  .#{$prefix}btn-default-toolbar-small-disabled,
  .#{$prefix}btn-default-toolbar-medium-disabled,
  .#{$prefix}btn-default-toolbar-large-disabled {
    border-color: transparent;

    background-image: none;
    background: transparent;
  }
}

/**
 * Creates a visual theme of an Ext.Button
 * @member Ext.button.Button
 */
@mixin extjs-button-ui(
  $ui,

  $border-radius: 0px,

  $border-width: 0px,

  $border-color: null,
  $border-color-over: null,
  $border-color-focus: null,
  $border-color-pressed: null,
  $border-color-disabled: null,

  $padding: null,
  $text-padding: null,

  $background-color: null,
  $background-color-over: null,
  $background-color-focus: null,
  $background-color-pressed: null,
  $background-color-disabled: null,

  $background-gradient: null,
  $background-gradient-over: null,
  $background-gradient-focus: null,
  $background-gradient-pressed: null,
  $background-gradient-disabled: null,

  $color: null,
  $color-over: null,
  $color-focus: null,
  $color-pressed: null,
  $color-disabled: null,

  $font-size: null,
  $font-size-over: null,
  $font-size-focus: null,
  $font-size-pressed: null,
  $font-size-disabled: null,

  $font-weight: null,
  $font-weight-over: null,
  $font-weight-focus: null,
  $font-weight-pressed: null,
  $font-weight-disabled: null,

  $font-family: null,
  $font-family-over: null,
  $font-family-focus: null,
  $font-family-pressed: null,
  $font-family-disabled: null,

  $icon-size: null
) {
  .#{$prefix}btn-#{$ui} {
    border-color: $border-color;
  }

  @include x-frame('btn', $ui, $border-radius, $border-width, $padding, $background-color, $background-gradient, true);

  .#{$prefix}btn-#{$ui} .#{$prefix}btn-inner {
    font-size: $font-size;
    font-weight: $font-weight;
    font-family: $font-family;
    color: $color;
    background-repeat: no-repeat;
    padding: 0 $text-padding;
  }

  .#{$prefix}btn-#{$ui}-icon,
  .#{$prefix}btn-#{$ui}-noicon {
    button,
    a,
    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
    }
  }

  //icons
  .#{$prefix}btn-#{$ui}-icon {
    button,
    a {
      padding: 0;
    }

    .#{$prefix}btn-inner {
      /* even though there is no text we set a width and padding as buttons shrink-wrap around this element */
      width: $icon-size;
      padding: 0;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: $icon-size;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-left {
    button,
    a {
      height: $icon-size;
    }

    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
      padding-left: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: auto;
      top: 0;
      left: 0;
      bottom: 0;
      right: auto;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks & {
        height: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-right {
    button,
    a {
      height: $icon-size;
    }

    .#{$prefix}btn-inner {
      height: $icon-size;
      line-height: $icon-size;
      padding-right: $icon-size + 4px !important;
    }

    .#{$prefix}btn-icon {
      width: $icon-size;
      height: auto;
      top: 0;
      left: auto;
      bottom: 0;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks & {
        height: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-top {
    .#{$prefix}btn-inner {
      padding-top: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: auto;
      height: $icon-size;
      top: 0;
      left: 0;
      bottom: auto;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks .#{$prefix}ie & {
        width: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-icon-text-bottom {
    .#{$prefix}btn-inner {
      padding-bottom: $icon-size + 4px;
    }

    .#{$prefix}btn-icon {
      width: auto;
      height: $icon-size;
      top: auto;
      left: 0;
      bottom: 0;
      right: 0;

      .#{$prefix}ie6 &,
      .#{$prefix}quirks .#{$prefix}ie & {
        width: $icon-size;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-over {
    @if $border-color-over != $border-color {
      border-color: $border-color-over;
    }
    @if $background-color-over != null {
      @include background-gradient($background-color-over, $background-gradient-over);
    }

    .#{$prefix}btn-inner {
      @if $color-over != $color {
        color: $color-over;
      }
      @if $font-weight-over != $font-weight {
        font-weight: $font-weight-over;
      }
      @if $font-size-over != $font-size {
        font-size: $font-size-over;
      }
      @if $font-family-over != $font-family {
        font-family: $font-family-over;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-focus {
    @if $border-color-focus != $border-color {
      border-color: $border-color-focus;
    }
    @if $background-color-focus != null {
      @include background-gradient($background-color-focus, $background-gradient-focus);
    }

    .#{$prefix}btn-inner {
      @if $color-focus != $color {
        color: $color-focus;
      }
      @if $font-weight-focus != $font-weight {
        font-weight: $font-weight-focus;
      }
      @if $font-size-focus != $font-size {
        font-size: $font-size-focus;
      }
      @if $font-family-focus != $font-family {
        font-family: $font-family-focus;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-menu-active,
  .#{$prefix}btn-#{$ui}-pressed {
    @if $border-color-pressed != $border-color {
      border-color: $border-color-pressed;
    }
    @if $background-color-pressed != null {
      @include background-gradient($background-color-pressed, $background-gradient-pressed);
    }

    .#{$prefix}btn-inner {
      @if $color-pressed != $color {
        color: $color-pressed;
      }
      @if $font-weight-pressed != $font-weight {
        font-weight: $font-weight-pressed;
      }
      @if $font-size-pressed != $font-size {
        font-size: $font-size-pressed;
      }
      @if $font-family-pressed != $font-family {
        font-family: $font-family-pressed;
      }
    }
  }

  .#{$prefix}btn-#{$ui}-disabled {
    @if $border-color-disabled != $border-color {
      border-color: $border-color-disabled;
    }
    @if $background-color-disabled != null {
      @include background-gradient($background-color-disabled, $background-gradient-disabled);
    }

    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: $color !important;
      }
      @if $font-weight-disabled != $font-weight {
        font-weight: $font-weight-disabled;
      }
      @if $font-size-disabled != $font-size {
        font-size: $font-size-disabled;
      }
      @if $font-family-disabled != $font-family {
        font-family: $font-family-disabled;
      }
    }
  }

  .#{$prefix}ie .#{$prefix}btn-#{$ui}-disabled {
    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: darken($color-disabled, 20) !important;
      }
    }
  }

  .#{$prefix}ie6 .#{$prefix}btn-#{$ui}-disabled {
    .#{$prefix}btn-inner {
      @if $color-disabled != $color {
        color: $color-disabled !important;
      }
    }
  }

  @if not $supports-border-radius or $compile-all {
    .#{$prefix}nbr {
      .#{$prefix}btn-#{$ui}-over {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-over;
          @if $background-gradient-over != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-focus {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-focus;
          @if $background-gradient-focus != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-menu-active,
      .#{$prefix}btn-#{$ui}-pressed {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-pressed;
          @if $background-gradient-pressed != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
          }
        }
      }

      .#{$prefix}btn-#{$ui}-disabled {
        .#{$prefix}frame-tl,
        .#{$prefix}frame-bl,
        .#{$prefix}frame-tr,
        .#{$prefix}frame-br,
        .#{$prefix}frame-tc,
        .#{$prefix}frame-bc {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-corners.gif');
        }

        .#{$prefix}frame-ml,
        .#{$prefix}frame-mr {
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-sides.gif');
        }

        .#{$prefix}frame-mc {
          background-color: $background-color-disabled;
          @if $background-gradient-disabled != null {
            background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
          }
        }
      }
    }
  }

  @if not $supports-gradients or $compile-all {
    @if $background-gradient != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui} {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-bg.gif');
        }
      }
    }

    @if $background-gradient-over != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-over {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
        }
      }
    }

    @if $background-gradient-focus != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-focus {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
        }
      }
    }

    @if $background-gradient-pressed != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-menu-active,
        .#{$prefix}btn-#{$ui}-pressed {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
        }
      }
    }

    @if $background-gradient-disabled != null {
      .#{$prefix}nlg {
        .#{$prefix}btn-#{$ui}-disabled {
          background-repeat: repeat-x;
          background-image: theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
        }
      }
    }
  }
}

;
